Technotes


Download

Acrobat file (47K)
Download

MS Word 5.1 file (45K)
QuickView version

not available yet

TECHNOTE: Understanding Conic Splines



Technote 1051JUNE 1996



Rob Johnson

Apple Graphics Engineering

Conic splines are a useful graphic primitive. They exactly represent any conic section: line, circle, ellipse, parabola, or hyperbola. Lines and circles are of obvious importance, and parabolic splines are a primitive building block for shapes in QuickDraw GX. To maintain closure under the full set of perspective transformations allowed by QuickDraw GX, the full set of conic sections must be used.

This Technote gives a derivation of some of the mathematical formulas associated with conic splines. It defines a quadratic rational spline as a weighted mean of three control points whose weights vary quadratically in the parameter t. A canonical form is derived for the most general form of the weighted mean. Then the effect of perspective transforms on the weights and control points is explained. Finally, a method is derived for determining which conic section contains a given conic spline.

This Technote is directed primarily at developers working with the paths and perspective transforms defined in QuickDraw GX. A firm grasp of those concepts is necessary to understanding this Technote.

Technote 1052 - QuickDraw GX ConicLibrary.c in Detail: Description, and Derivations also addresses the concept of conic splines, and approaches it from a different perspective. See Inside Macintosh: QuickDraw GX Graphics and Inside Macintosh: QuickDraw GX Objects for further documentation.


This Technote is heavily dependent upon mathematical derivation, which HTML does not yet adequately support. In order to ensure the mathematical integrity of the text, we are not publishing the body of the Technote as an HTML file. You can download the Technote, in its entirety, as a Microsoft Word 5.1 document, by clicking on the icon:

Contents


Acknowledgements

Thanks to Ingrid Kelly for reviewing this Technote. Thanks also to Guillermo Ortiz.



Technotes
Previous Technote | Contents | Next Technote